package cn.com.huzo.service.master;

import cn.com.huzo.model.entities.master.SupplierEntity;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;

/**
 * 供应商信息管理服务对象接口。
 *
 * @author 吴旭
 */
public interface SupplierManager extends GenericManager<SupplierEntity, Long> {

    /**
     * 根据给定供应商编码取得供应商信息对象。
     *
     * @param supplierNo 供应商编码
     * @return 供应商信息对象
     * @throws java.lang.Exception
     */
    SupplierEntity fetchBySupplierNo(String supplierNo) throws Exception;

    /**
     * 取得供应商表的字段列表。
     *
     * @return 字段名和汉字描述列表
     * @throws java.lang.Exception
     */
    List<SupplierEntity> fetchAllFields() throws Exception;

    /**
     * 根据给定导出条件取得供应商信息对象。
     *
     * @param criterion 导出过滤条件
     * @return 供应商信息对象
     * @throws java.lang.Exception
     */
    List<String> fetchExportData(Map<String, Object> criterion) throws Exception;

    /**
     * 批量更新供应商所属目录。
     *
     * @param itemList 要更新的供应商数据列表
     * @return 影响的行数
     * @throws java.lang.Exception
     */
    Integer batchChangeCatalogue(List<SupplierEntity> itemList) throws Exception;
}
